/* Copyright 2019 Evy Dekkers
 *
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 2 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */
#include QMK_KEYBOARD_H

// Each layer gets a name for readability, which is then used in the keymap matrix below.
// The underscores don't mean anything - you can have a layer called STUFF or any other name.
// Layer names don't all need to be of the same length, obviously, and you can also skip them
// entirely and just use numbers.

#define _MA 0 //Main layer
#define _LO 1 //Low
#define _HI 2 //High

const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_MA] = LAYOUT_split_space(
  QK_GESC,  KC_Q,     KC_W,        KC_E,        KC_R,        KC_T,        KC_Y,     KC_U,     KC_I,     KC_O,     KC_P,     KC_DEL,    KC_BSPC,
  KC_TAB,   KC_A,     KC_S,        KC_D,        KC_F,        KC_G,        KC_H,     KC_J,     KC_K,     KC_L,     KC_SCLN,             KC_ENT,
  KC_LSFT,            KC_Z,        KC_X,        KC_C,        KC_V,        KC_B,     KC_N,     KC_M,     KC_COMM,  KC_DOT,   KC_SLSH,   KC_RSFT,
  KC_LCTL,  KC_LGUI,  KC_LALT,     MO(_LO),                  KC_SPC,                KC_SPC,             MO(_HI),  KC_RALT,  KC_APP,    KC_RCTL),

[_LO] = LAYOUT_split_space(
  KC_GRV,   KC_F1,    KC_F2,       KC_F3,       KC_F4,       KC_F5,       KC_F6,    KC_F7,    KC_F8,    KC_F9,    KC_F10,   KC_F11,    KC_F12,
  KC_1,     KC_2,     KC_3,        KC_4,        KC_5,        KC_6,        KC_7,     KC_8,     KC_9,     KC_0,     KC_MINS,             KC_EQL,
  _______,            LCTL(KC_Z),  LCTL(KC_X),  LCTL(KC_C),	 LCTL(KC_V),  _______,  _______,  KC_QUOT,  KC_LBRC,  KC_RBRC,  KC_BSLS,   _______,
  _______,  _______,  _______,     _______,                  _______,               _______,            _______,  _______,  _______,   QK_BOOT),

[_HI] = LAYOUT_split_space(
  _______,  _______,  _______,     _______,     _______,     _______,     _______,  KC_PGUP,  KC_UP,    KC_PGDN,  _______,  _______,   _______,
  KC_CAPS,  _______,  _______,     _______,     _______,     _______,     _______,  KC_LEFT,  KC_DOWN,  KC_RIGHT, _______,             _______,
  _______,            _______,     _______,     _______,     _______,     _______,  _______,  _______,  KC_VOLD,  KC_VOLU,  KC_MPLY,   KC_PSCR,
  _______,  _______,  _______,     _______,                  _______,               _______,            _______,  _______,  _______,   _______),

};